#define _CRT_SECURE_NO_WARNINGS 1
#include <iostream>
#include <algorithm>

using namespace std;

const int N = 2e5 + 10;

typedef pair<int, int> PII;

int n;
PII arr[N];

int main()
{
    cin >> n;
    for (int i = 0; i < n; i++) cin >> arr[i].first >> arr[i].second;
    sort(arr, arr + n);
    int ret = 0, r = arr[0].second;
    for (int i = 1; i < n; i++)
    {
        if (arr[i].first < r)
        {
            r = min(r, arr[i].second);
        }
        else
        {
            ret++;
            r = arr[i].second;
        }

    }
    cout << ret + 1 << endl;

    return 0;
}

//#include <cmath>
//#include <iostream>
//#include <string>
//
//using namespace std;
//
//long long change(string s)
//{
//    for (int i = s.size() - 2; i >= 0; i--)
//    {
//        s += s[i];
//    }
//    return stol(s);
//}
//
//bool isprime(long long x)
//{
//    if (x <= 1) return false;
//    for (int i = 2; i < sqrt(x); i++)
//    {
//        if (x % i == 0) return false;
//    }
//    return true;
//}
//
//int main()
//{
//    string s;
//    cin >> s;
//    long long t = change(s);
//    if (isprime(t)) cout << "prime" << endl;
//    else cout << "noprime" << endl;
//    return 0;
//}